import java.util.Scanner;




public class Chihuo {
	public static void main(String[] args) {
		
		 Scanner input =  new Scanner(System.in);
	     //吃货联盟   
		  //  主体     我要订餐   查看餐袋   签收订单      删除订单      
		//  一组订单包括  （定餐人    所定餐信息     送餐时间      送餐地址       订单状态      金额   ）
		//   我要点赞    --餐品 （餐品名     单价   点赞数   ）
		
		//声明主体  
		   String [] name  = new String [4];    //定餐人
		   String [] canPin  = new String [4];    //  餐品 信息
		   int []  time = new int [4];           //  时间   
		   String [] adder  = new String [4];     // 地址  
		   int []  zhuangT = new int [4];          //  餐品状态   0 预定     1 签收
		   double [] sum = new double [4];         // 总金额  
		   
		   //  初始化  2条 订单信息  
		    // 第一条  
		   name [0] = "长晴";
		   canPin  [0] = "鱼香肉丝1份";
		   time [0] = 12 ;
		   adder [0] = "天成路27号";
		   zhuangT [0] = 1;
		   sum [0] = 24.0;
		   // 第二条  
		   name [1] = "长晴";
		   canPin  [1] = "红烧带鱼 2份";
		   time [1] = 12 ;
		   adder [1] = "天成路27号";
		   zhuangT [1] = 0;
		   sum [1] = 76.0;
	
	       //定义一组餐品信息  
		   String [] canName  = {"红烧带鱼","鱼线肉丝","时令蔬菜"};   //餐品名  
		   double  []  danJia = {38.0,18.0,10.0};   //单价 
		   int  [] dianZ  =  new int [3] ;      //点赞数  默认数组值
	
	       //搭建框架    
		    int num =-1;  //记录用户输入的数字
		    boolean flag = false;
		    do{
		    System.out.println("欢迎使用“吃货联盟订餐系统”");
		    
		    System.out.println("*************************");
		    System.out.println("1,我要订餐");
		    System.out.println("2,查看餐袋");
		    System.out.println("3,签收订单");
		    System.out.println("4,删除订单");
		    System.out.println("5,我要点赞");
		    System.out.println("6,退出系统");
		    System.out.println("**************************");
		    System.out.println("请选择：");
		    int choose = input.nextInt();
		    
		    boolean  isAdd   =  false ;   //    true  表示找到空值   false   没有  
		    switch(choose){
		       case 1:
		    	   //我要订餐
		    	   // 1,找空值,填空值    2，显示可选择餐品 3，订餐人信息 4，送餐时间  5，地址  6，隐藏信息 餐品总金额等于餐品金额加送餐费
		    	   // 显示订单信息（餐品   订餐人   时间  地址  金额  ）
		    	   // 保存   
		    	   System.out.println("***我要订餐***");
		    	   for(int i =0;i<name.length;i++){
		    		   if(name[i]==null){
		    			   isAdd  = true;
		    			   System.out.println("序号\t餐品名\t单价\t点赞数");    
		    			   for(int j =0;j<canName.length;j++){               //遍历餐品名   
		    				  String  danJia1  = danJia[j]+"元";   
		    				  String  dianZ1  = dianZ[j] + "赞";
		    				   System.out.println((j+1)+"\t"+canName[j]+"\t"+danJia1+"\t"+dianZ1);
		    			   }      
		    			   //  接受选择餐品  
		    			   System.out.print("请选择餐品序号");
		    			   int   choose1  = input.nextInt();
		    			   System.out.print("请选择餐品份数");
		    			   int   choose2    = input.nextInt();
		    			   
		    			   String   xianshi   =  canName[choose1-1]+"\t"+choose2+"份";
		    			   System.out.print("请输入订餐人姓名");
		    			   String  name1 = input.next();
		    			   System.out.print("请输入送餐时间（10-20点的整数）");
		    			   int  time1 = input.nextInt();
		    			   while(time1<10||time1>20){
		    				   System.out.println("请重新输入（10-20点的整数）");
		    				   time1 = input.nextInt();
		    			   }
		    			   System.out.print("请输入送餐地址");
		    			   String add1 = input.next();
		    			   
		    			   double   sum1 = danJia[choose1-1]*choose2;
		    			   double song = sum1>=50?0.0:6.0;
		    			   
		    			   //显示信息  
		    			   System.out.println("订餐成功");
		    			   System.out.println("你的订单是:"+xianshi);
		    			   System.out.println("送餐时间是 "+time1+"点");
		    			   System.out.println("送餐地址是 "+add1);
		    			   System.out.println("餐费是 "+sum1+",送餐费是"+song);
		    			   System.out.println("总金额是 "+(sum1+song));
		    			   
		    			   //保存
		    			   name[i]  = name1;
		    			  canPin [i]  = xianshi  ;
		    			    time   [i] =  time1;
		    			  adder  [i]   = add1;
		    			   sum [i]  = sum1+song;
		    			   break;
		    		   }
		    	   }
		    	   if(!isAdd ){
		    		   System.out.println("餐袋已满");
		    	   }
		    	   break;
		       case 2:
		    	   // 查看餐袋    （序号   所定餐品信息   订餐人   送餐时间   地址   金额   状态（完成   预定））
		    	   System.out.println("***查看餐袋***");
		    	   System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t\t总金额\t状态");
		   for(int i =0;i<name.length;i++){
		   if(name[i] !=null){
		    String time2 = time[i]  + "点";
		    String sum2 = sum[i]  + "元";
		     String zhuang1 = zhuangT[i] == 0?"已预订":"已完成";
		     System.out.println((i+1)+"\t"+name [i]+"\t"+canPin[i]+"\t"+time2+"\t"+adder[i]+"\t"+sum2+"\t"+zhuang1);
		    		   }
		    	   }
		    	   break;
		       case 3:
		    	   //  找到订单   （循环遍历）
		    	   // 签收订单   （1 订单预定 可以签收   2  订单完成 不可以签收   3  找不到订单）
	    	     
		    	   System.out.println("***签收订单***");
		    	   System.out.println("请选择要签收的订单");
		    	   int  xuan  =  input.nextInt();
		    	   boolean  flag1 = false; // 标志位  false记录序号 没有   true记录序号 有
		    	   for(int i=0;i<name.length;i++){
		    		   if(name[i]!=null && zhuangT[i] == 0 && xuan==i+1){
		    			   zhuangT[i] =1;
		    			   System.out.println("签收成功");
		    			   flag1 = true;
		    			   break;
		    		   }else if(name[i]!=null && zhuangT[i] == 1 && xuan==i+1){
		    			   System.out.println("订单已完成，不可以签收");  
		    			   flag1 = true;
		    			   break;
		    			   
		    		   }
		    	   }
		    	    if(!flag1){
		    	    	System.out.println("没有找到这个订单");
		    	    }
		    	   break;
		       case 4:
		    	  // 列表订单  
		    	   // 选择订单  （1，完成状态 删除   2，预定  不可删除  3 未找到订单    ）
		    	   // 删除后 ，订单重新赋值  
		    	   System.out.println("***删除订单****");
		    	   int  xia =-1;   //记录删除数组的下标
		    	   boolean flag3 = false;    //标志位  false记录订单 没有   true记录订单 有  
		    	   System.out.println("请选择要删除的订单  ");
		    	   int xuan2 = input.nextInt();
		    	   for(int i=0;i<name.length;i++){
		    		   if(name[i]!=null && zhuangT[i]==1 && xuan2==i+1){
		    			   xia =i;
		    			   flag3 = true;
		    			   
		    			   break;
		    		   }else if(name[i]!=null && zhuangT[i]==0 && xuan2==i+1){
		    			   System.out.println("订单未完成，不可以删除");
		    			   flag3 = true;
		    			   break;
		    		   }
		    	   }
		    	   if(!flag3){
		    	    	System.out.println("对不起，订单不存在");
		    	    }
		    	   
		    	    if(xia != -1){
		    	    	for(int i= xia;i<name.length-1;i++){
		    	    		name[i] = name[i+1];
		    	    		canPin [i]  = canPin [i+1]  ;
			    			    time   [i] =  time   [i+1];
			    			  adder  [i]   = adder  [i+1];
			    			   zhuangT [i]  = zhuangT [i+1];
			    			   
		    	    		
		    	    	}
		    	    	name[name.length-1]=null;
		    	    	canPin [name.length-1]  = null  ;
	    			    time   [name.length-1] =  0;
	    			  adder  [name.length-1]   = null;
	    			   zhuangT [name.length-1]  = 0;
	    			   
	    			   System.out.println("订单已删除成功");
		    	    }
		    	   break;
		       case 5:
		    	   break;
		       case 6:
		    	 
		    	   break;
		       default:
		    	   
		    	   break;
		    }
		    if(choose<1||choose>5){
				       break;
				      }else{
		
		          System.out.println("输入0返回");	   
		            num = input.nextInt();
				      }
		    }while(num == 0);	
		    System.out.println("谢谢光临");
		    	   
		    
		    	   
		    	   
		    	   
		    	   
		    	   
		    	   
		    
	
	
	
	
	
	
	}

}